{{tag>Edgy Feisty Gutsy Ubuntu_64bits téléphonie}}

----


====== ObexFTP, ou comment accéder aux données de son téléphone USB ou infrarouge ======

ObexFTP est un logiciel libre permettant d'accéder à la mémoire de son téléphone via le cable usb fourni ou une connexion infrarouge, lorsque le téléphone ne fonctionne pas comme une clé USB...

**Cette méthode marche aussi avec les Palms et autres assistants personnels.**

Ce logiciel est en ligne de commande nous allons donc l'utiliser comme ceci et s'il marche, une interface graphique sera disponible. :-) 










===== Matériel supporté =====

  * Tous les téléphones et Palms avec un câble en port série (non USB), nom interne **/dev/ttyS0** (ou **/dev/ttyS1** si vous utilisez le port série secondaire)
  * La plupart des Palm et assistants personnels USB
  * **//Sony Ericsson v600i//** : marche avec la méthode 1 et la méthode 2 avec comme nom interne: **/dev/ttyACM0**.
  * **//Sony Ericsson k700i//** : Marche avec la méthode 1, 2, 3(infrarouge) et 4(bluetooth); le câble non officiel ne permet pas la méthode 1, rabattez vous sur la méthode 2 (avec comme nom interne **/dev/ttyUSB0**) et infrarouge.
  * **//Sony Ericsson k610i//** : pas de nom interne fonctionnel, utilisez seulement la méthode 1; marche aussi avec la méthode 4(bluetooth).
  * **//Alcatel One Touch 535/735//** : avec connexion infrarouge (méthode 3)
  * **//Nokia 5140i//** : avec connexion infrarouge (méthode 3)

S'il n'est pas dans la liste, testez quand même et ajoutez-le :)

  * ne marche pas avec les téléphones **Motorola** (L6), utilisez [[moto4lin]] (//sudo apt-get install moto4lin// puis  //sudo moto4lin//)

===== Installation =====

[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **obexftp**.

===== Utilisation =====



==== Méthode 1 : avec la référence USB ====

Pour cette méthode nous n'avons pas besoin du nom interne la commande débutera par:

  sudo obexftp -u 0

rendez vous ensuite à la [[#partie_commune]]

----


==== Méthode 2 : méthode 1 non fonctionnelle ou avec un port série ; avec le nom interne ====

=== Connaître le nom interne de son périphérique ===

Si le nom interne de votre téléphone portable (/dev/tty'?') n'est pas dans la liste ou si celui de la liste ne marche pas faites comme ceci :
  ***Débrancher** le téléphone
  *Ouvrir un terminal. 
Pour les versions d'Ubuntu jusqu'à la 8.4, taper: <code>sudo udevmonitor –udev</code>
Depuis ubuntu 8.10 taper: <code>udevadmn monitor --udev</code>
  *Garder le terminal ouvert et **brancher** le téléphone
  *Plein de lignes s'affichent, dans celle-ci vous en trouverez sûrement une du genre (elle doit contenir à sa fin (tty)):

UEVENT[1184187965.536823] add      /class/tty/**ttyUSB0** (tty)

FIXME Les commandes ne sont plus valables pour Ubuntu 9.04

Retenez ce qui est artificiellement en gras.

<note>Il se peut qu'il y en ait plusieurs qui défile essayez avant tout le premier, puis s'il ne marche pas, le second...</note>

  *Pour moi c'est donc /dev/ttyUSB0 pour vous ce sera /dev/'le truc que vous avez trouvé'

=== Une fois le nom interne connu (via la méthode si dessus ou la liste des compatibles) ===

Le début de la commande sera donc :

  obexftp -t /dev/tty...

Rendez vous ensuite à la [[#partie_commune]]

----


==== Méthode 3 : En infrarouge ====

Tous d'abord je précise que l'infrarouge peut aussi fonctionner (de façon bien plus simple) sans obexftp: [[:irda_port_infrarouge|Voir cette page.]]

Pour utiliser obexftp en infrarouge vous devez utiliser en début de commande ceci :

  obexftp -i 

<note> Oui, c'est tout ... c'est vraiment pas long. ;) </note>

rendez vous ensuite à la [[#partie_commune]]

----



==== Méthode 4 : En Bluetooth ====

Tous d'abord je précise que le bluetooth peut aussi fonctionner (et de façon bien plus simple) sans obexftp: [[:Bluetooth|Voir cette page.]]

Pour utiliser obexftp en bluetooth vous devez utiliser en début de commande ceci :

  obexftp -b 

<note> Oui, c'est tout ... c'est vraiment pas long. ;) </note>

rendez vous ensuite à la [[#partie_commune]]

----



==== Partie commune ====

=== Lister les fichiers ===

Pour lister les fichiers contenus dans la mémoire du téléphone :

  'votre début de commande' -l /

  * -l voulant dire lister
  * / le répertoire racine du téléphone

Exemple :

  sudo obexftp -u 0 -l /

Vous obtiendrez quelques chose comme ça :
<code>
Connecting...done
Receiving "/"... Sending ""... done
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE folder-listing SYSTEM "obex-folder-listing.dtd">
<!--
 XML Coder, Jul 12 2005, 04:53:25, (C) 2001 Sony Ericsson Mobile Communications AB
-->
<folder-listing version="1.0"><folder name="Images"/>
<folder name="Sons"/>
<folder name="Thèmes"/>
<folder name="Vidéos"/>
<folder name="Autre"/>
</folder-listing>
done
Disconnecting...done
</code>

Voilà donc la liste des dossiers et fichiers. Faites par exemple ceci ensuite :

  'votre début de commande' -l /Images

Pour lister ce qui est dans Images.

== Transférer du téléphone vers le PC ==

Pour ce faire tapez ceci:

  'votre début de commande' -c /Images/camera_semc/100MSDCF -g DSC00017.JPG

  *-c permet de choisir dans quel dossier est l'image à transférer: ici /Image/camera_semc/100MSDCF
  *-g permet de choisir quel image transférer: ici DSC00017.JPG

Vous pouvez aussi faire des transferts à la chaîne :

  'votre début de commande' -c /Images/camera_semc/100MSDCF -g DSC00017.JPG DSC00018.JPG DSC00019.JPG

Note : Ne tentez pas un

  'votre début de commande' -c /Images/camera_semc/100MSDCF -g *
qui (bizarrement), tentera de télécharger les fichiers qui se trouvent sur votre ordinateur et non sur votre téléphone... :s Il faudra rentrer chaque nom de fichier, ou regarder plus loin, avec l'interface graphique qui permet de sélectionner tous les fichiers.

Petit supplément : faire -G à la place de -g tranfèrera le fichier puis le supprimera du téléphone

Voilà tous

== Transférer du PC vers le téléphone ==

Pour transférer un fichier vers le téléphone portable il suffit de mettre -p à la place de -g ! exemple:

  'votre début de commande' -c /Images -p /home/fabien/image.jpg

ce qui aura pour conséquence de copier image.jpg dans le dossier /Image du téléphone.


===== Interface graphique =====


C'est vraiment très laborieux, heureusement une belle interface graphique en tcl/tk est disponible, elle se nomme Obextool !

Bon elle n'est pas parfaite, et demande une configuration plutôt longue ... mais une fois installée et bien configurée elle permet de bien faciliter les choses. :-)






==== Installation ====

=== Gutsy et suivants ===

[[:tutoriel:comment_installer_un_paquet|installer avec le paquet]] **obextool** normalement ou en ligne de commande:

  sudo apt-get install obextool

=== Feisty et précédents ===

[[:tutoriel:comment_installer_un_paquet|installer avec les paquets]]: 
  * **tk8.4**
  * **bwidget**
ou avec cette ligne de commande:

  sudo apt-get install tk8.4 bwidget

et installer avec [[:Gdebi]] [[http://debian.charite.de/ubuntu/pool/universe/t/tablelist/tablelist_4.6-0ubuntu1_i386.deb|ce package]]

puis ouvrez un terminal et taper:

  cd /opt
  sudo wget http://www.tech-edv.co.at/downloads/obextool-0.33.tar.gz
  sudo tar xvfz obextool*.tar.gz
  sudo rm obextool*.tar.gz






==== Configuration ====

<note warning>Attention Si vous utilisez Feisty ou précédent cette section est indispensable, ainsi que pour Gutsy si vous utilisez un câble pour la connection.</note>

=== Pour Gutsy et suivants ===

<note important>Cette partie est totalement inutile si vous utiliser le bluetooth ou l'infrarouge, mais est indispensable avec la méthode câble</note>

Pour lancer ce programme il vous faudra éditer le script de lancement:
  * [[:tutoriel:comment_editer_un_fichier|éditez le fichier]] **/usr/bin/obextool**

  * Ligne 40:

  OBEXCMD_OPTIONS=${OBEXCMD_OPTIONS:=-t /dev/ttyS0}

  * Changez //**-t /dev/ttyS0**// par **-u 0** (si vous utilisez la méthode 1)  ou par **-t /dev/tty'le nom interne'** (si vous utiliser la méthode 2).

  * Sauvegardez le fichier et fermez gedit

  * Maintenant descendez jusqu'à la partie commune.

=== Pour Feisty et précédents ===

Pour lancer ce programme il vous faudra faire un petit script :
  * [[:tutoriel:comment_editer_un_fichier|éditez le fichier]] **/usr/bin/obextool** ;
  * copier-coller ce texte dans la fenêtre :<code bash>
#!/bin/sh
# ObexTool startup script for Debain Sarge, written by Hendrik Sattler 
# See also: http://www.stud.uni-karlsruhe.de/~ubq7/debian/
#
# I has been tested and works great with:
#   obexftp (0.10.7-3)
#   tablelist (4.0-1) 
#   obextool (>= 0.32-2 installed in /usr/share/obextool) 
# and obextool cofiguration dir /etc/obextool
# It autodetects IRDA, Bluetooth and serial (/dev/ttyS0) interfaces

XDIALOG=$(which Xdialog)
if [ -z "${OBEXCMD}" ]; then
    echo "Define OBEXCMD environment variable to disable this scan!"
    if [ ${XDIALOG} ]; then
      ${XDIALOG} --infobox "Scanning for IrDA devices" 0 0 1000 &
    fi
    echo "Scanning for Irda devices"
    if ( obexftp -i -l >/dev/null 2>&1 ); then
	if [ ${XDIALOG} ]; then
	  ${XDIALOG} --infobox "Found IrDA device" 0 0 3000 &
	fi
	echo "Found IrDA device"
	OBEXCMD_OPTIONS="-i"
    else
	if [ ${XDIALOG} ]; then
	  ${XDIALOG} --infobox "Scanning for bluetooth devices" 0 0 5000 &
	fi
        echo "Scanning for bluetooth devices"
	BTADDR=$(obexftp -b 2>&1| grep Browsing | cut -f 2 -d " ")
	if [ "${BTADDR}" ]; then
	  if [ ${XDIALOG} ]; then
	    ${XDIALOG} --infobox "Found bluetooth device ${BTADDR}" 0 0 3000 &
	  fi
	  echo "Found bluetooth device ${BTADDR}"
	  OBEXCMD_OPTIONS="-b ${BTADDR}"
	fi
    fi
fi
#Attention editez la commande ci dessous
OBEXCMD_OPTIONS=${OBEXCMD_OPTIONS:='commande pour l'accès au périphérique'}
OBEXCMD=${OBEXCMD:=/usr/bin/obexftp ${OBEXCMD_OPTIONS}}
export OBEXCMD
echo "Using obexftp command: ${OBEXCMD}"

OBEXTOOL_CFG=${OBEXTOOL_CFG:=/opt/obextool-0.33/etc}
export OBEXTOOL_CFG
exec /opt/obextool-0.33/obextool.tk "$@"
</code>
  * Ligne 41 changez //**'commande pour l'accès au périphérique'**// par **-u 0** (si vous utilisez la méthode 1, 3 ou 4) ou par **-t /dev/tty'le nom interne'** (si vous utilisez la méthode 2).
  * sauvegardez le fichier et fermez gedit

=== Partie Commune ===

Voilà l'installation est terminée, pour ouvrir le programme il faudra faire:

  gksudo bash /usr/bin/obextool

vous pouvez maintenant [[:raccourci-lanceur|faire un lanceur]] avec ceci comme commande :-)


==== Utilisation ====

l'utilisation n'est pas très compliqué, il suffit de naviguer dans les dossiers et de faire un clic central puis download (ou cliquer sur le bouton à cet effet) pour récupérer le fichier dans son dossier personnel.


lien: [[http://www.tech-edv.co.at/programmierung/en/gplsw.html#download|Obextool]]





===== Problèmes =====

  * Parfois le téléphone plante
 
**Solution :** pour que ça remarche débranchez-le et rebranchez-le ...

  * Il semblerait que les dossiers et fichiers comportant des noms accentués soient inaccessibles.

**Solution :** Renommez si possible les dossiers et fichiers avec accents via le téléphone. Si votre problème vient d'un dossier système du téléphone (ex: Mémoire téléphone), changez la langue en anglais.

===== Liens =====

  * http://dev.zuckschwerdt.org/openobex/wiki/SupportedPhonesSonyEricsson
  * http://www.markup.fr/Sony-Ericsson-v600i-sous-Linux

----

//Contributeurs : [[:utilisateurs:Fabien26]].//